package com.beiben.quality.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 质量信息对象 qa_quality_info
 *
 * @author gx
 * @date 2021-03-08
 */
public class QaQualityInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long qualityId;

    /**
     * 用户/项目名称
     */
    @Excel(name = "用户/项目名称")
    private String name;

    /**
     * 车型/样车
     */
    @Excel(name = "车型/样车")
    private String carTypeDetil;

    /**
     * 问题反馈时间（上线时间）
     */
    @Excel(name = "问题反馈时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date problemFeedbackTime;

    /**
     * 车型(0牵引 1自卸 2专用 3宽体)
     */
    @Excel(name = "车型",readConverterExp = "0=牵引,1=自卸,2=专用,3=宽体")
    private String carType;

    /**
     * 系统(0整车 1动传 2底盘 3车身 4车电)
     */
    @Excel(name = "系统",readConverterExp = "0=整车,1=动传,2=底盘,3=车身,4=车电")
    private String workSystem;

    /**
     * 组别
     */
//    @Excel(name = "组别")
    @Transient
    private List<String> groupList;

    /**
     * 组别
     */
    @Excel(name = "组别")
    private String groups;

    private String code;

    /**
     * 问题描述
     */
    @Excel(name = "问题描述")
    private String problemDescription;

    /**
     * 原因分析
     */
    @Excel(name = "原因分析")
    private String causeAnalysis;

    /**
     * 有效的永久解决措施
     */
    @Excel(name = "有效的永久解决措施")
    private String permanentSolutions;

    /**
     * FMEA积累(0 已积累 1本次积累)
     */
    @Excel(name = "FMEA积累",readConverterExp = "0=已积累,1=本次积累")
    private String isFmea;

    /**
     * 问题发生阶段(0生产 1售后 2试验 3试制)
     */
    @Excel(name = "问题发生阶段",readConverterExp = "0=生产,1=售后,2=试验,3=试制")
    private String problemStage;

    /**
     * 合同号
     */
    @Excel(name = "合同号")
    private String contractNo;

    /**
     * 所属机构
     */
//    @Excel(name = "所属机构")
    private Long deptId;

    /**
     * 机构名称
     */
//    @Excel(name = "机构名称")
    private String deptName;

    /**
     * 问题分类(0 设计不合理干涉调整;1 设计错误;2 资料错误)
     */
    @Excel(name = "问题分类",readConverterExp = "0=设计不合理干涉调整,1=设计错误,2=资料错误")
    private String questionClassification;

    public void setQualityId(Long qualityId) {
        this.qualityId = qualityId;
    }

    public Long getQualityId() {
        return qualityId;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setCarTypeDetil(String carTypeDetil) {
        this.carTypeDetil = carTypeDetil;
    }

    public String getCarTypeDetil() {
        return carTypeDetil;
    }

    public void setProblemFeedbackTime(Date problemFeedbackTime) {
        this.problemFeedbackTime = problemFeedbackTime;
    }

    public Date getProblemFeedbackTime() {
        return problemFeedbackTime;
    }

    public void setCarType(String carType) {
        this.carType = carType;
    }

    public String getCarType() {
        return carType;
    }

    public void setWorkSystem(String workSystem) {
        this.workSystem = workSystem;
    }

    public String getWorkSystem() {
        return workSystem;
    }

    public void setProblemDescription(String problemDescription) {
        this.problemDescription = problemDescription;
    }

    public String getProblemDescription() {
        return problemDescription;
    }

    public void setCauseAnalysis(String causeAnalysis) {
        this.causeAnalysis = causeAnalysis;
    }

    public String getCauseAnalysis() {
        return causeAnalysis;
    }

    public void setPermanentSolutions(String permanentSolutions) {
        this.permanentSolutions = permanentSolutions;
    }

    public String getPermanentSolutions() {
        return permanentSolutions;
    }

    public void setIsFmea(String isFmea) {
        this.isFmea = isFmea;
    }

    public String getIsFmea() {
        return isFmea;
    }

    public void setProblemStage(String problemStage) {
        this.problemStage = problemStage;
    }

    public String getProblemStage() {
        return problemStage;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public List<String> getGroupList() {
        return groupList;
    }

    public void setGroupList(List<String> groupList) {
        this.groupList = groupList;
    }

    public String getGroups() {
        return groups;
    }

    public void setGroups(String groups) {
        this.groups = groups;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getQuestionClassification() {
        return questionClassification;
    }

    public void setQuestionClassification(String questionClassification) {
        this.questionClassification = questionClassification;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("qualityId", getQualityId())
                .append("name", getName())
                .append("carTypeDetil", getCarTypeDetil())
                .append("problemFeedbackTime", getProblemFeedbackTime())
                .append("carType", getCarType())
                .append("workSystem", getWorkSystem())
                .append("groups", getGroups())
                .append("problemDescription", getProblemDescription())
                .append("causeAnalysis", getCauseAnalysis())
                .append("permanentSolutions", getPermanentSolutions())
                .append("isFmea", getIsFmea())
                .append("problemStage", getProblemStage())
                .append("contractNo", getContractNo())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("deptId", getDeptId())
                .append("deptName", getDeptName())
                .append("questionClassification", getQuestionClassification())
                .toString();
    }
}
